#ifndef NAVIGATE_TO_SHELF_H
#define NAVIGATE_TO_SHELF_H

#include "behaviortree_cpp/bt_factory.h"
#include "rclcpp/rclcpp.hpp"

class NavigateToShelf : public BT::StatefulActionNode
{
  public:
    NavigateToShelf(const std::string& name, const BT::NodeConfig& config, rclcpp::Node* node);

    static BT::PortsList providedPorts();
    BT::NodeStatus onStart() override;
    BT::NodeStatus onRunning() override;
    void onHalted() override;

  private:
    rclcpp::Node* node_;
    bool navigation_complete_;
    rclcpp::TimerBase::SharedPtr timer_;
};

#endif